Digital signal processing (“DSP”) and information theory technology is essential to modern information processing and in telecommunications for both the efficient storage and transmission of data. In particular, effective multimedia communications including speech, audio and video relies on efficient methods and structures for compression of the multimedia data in order to conserve bandwidth on the transmission channel as well as to conserve storage requirements.
Many DSP algorithms rely on transform kernels such as an FFT (“Fast Fourier Transform”), DCT (“Discrete Cosine Transform”), etc. For example, the discrete cosine transform (“DCT”) has become a very widely used component in performing compression of multimedia information, in particular video information. The DCT is a loss-less mathematical transformation that converts a spatial or time representation of a signal into a frequency representation. The DCT offers attractive properties for converting between spatial/time domain and frequency representations of signals as opposed to other transforms such as the DFT (“Discrete Fourier Transform”)/FFT. In particular, the kernel of the transform is real, reducing the complexity of processor calculations that must be performed. In addition, a significant advantage of the DCT for compression is that it exhibits an energy compaction property, wherein the signal energy in the transform domain is concentrated in low frequency components, while higher frequency components are typically much smaller in magnitude, and may often be discarded. The DCT is in fact asymptotic to the statistically optimal Karhunen-Loeve transform (“KLT”) for Markov signals of all orders. Since its introduction in 1974, the DCT has been used in many applications such as filtering, transmultiplexers, speech coding, image coding (still frame, video and image storage), pattern recognition, image enhancement and SAR/IR image coding. The DCT has played an important role in commercial applications involving DSP, most notably it has been adopted by MPEG (“Motion Picture Experts Group”) for use in MPEG 2 and MPEG 4 video compression algorithms.
A computation that is common in digital filters such as finite impulse response (“FIR”) filters or linear transformations such as the DFT and DCT may be expressed mathematically by the following dot-product equation:
  d  =            ∑              i        =        0                    N        -        1              ⁢                  a        ⁢                  (          i          )                    *              b        ⁢                  (          i          )                    where a(i) are the input data, b(i) are the filter coefficients (taps) and d is the output. Typically a multiply-accumulator (“MAC”) is employed in traditional DSP design in order to accelerate this type of computation. A MAC kernel can be described by the following equation:d[i+1]=d[i]+a(i)*b(i) with initial value d[0]=0.
In some cases it is advantageous to downsample a signal. For example, with images, it is often advantageous to view an image in a smaller frame. However, the algorithms for generating a downsampled signal vs. a non-downsampled signal will typically vary significantly. Thus, typically it is required to provide separate hardware structures to generate either a downsampled signal or a non-downsampled signal. This is highly disadvantageous as it results in increased hardware area, complexity and cost. Thus, it would be advantageous to develop a hardware structure capable of operating in one of a downsampling or non-downsampling modes, while reducing the redundancy of hardware elements as much as possible.